Computer networking began proliferating when the data transfer rates of industry standard architectures could not keep pace with the data access rate of the 80386 processor made by Intel Corporation. Local area networks (LANs) evolved to storage area networks (SANs) by consolidating the data storage capacity in the network. Users have realized significant benefits by the consolidation of equipment and the associated data handled by the equipment in SANs, such as the capability of handling an order of magnitude more storage than would otherwise be possible with direct attached storage, and doing so at manageable costs.
More recently the movement has been toward a network-centric approach to controlling the data storage subsystems. That is, in the same way that the storage was consolidated, so too are the systems that control the functionality of the storage being offloaded from the servers and into the network itself. Host-based software, for example, can delegate maintenance and management tasks to intelligent switches or to a specialized network storage services platform. Appliance-based solutions eliminate the need for the software running in the hosts, and operate within computers placed as a node in the enterprise. Intelligent data storage subsystems self-deterministically allocate, manage, and protect its respective data storage capacity and present that capacity as a virtual storage space to the network to accommodate global storage requirements. This virtual storage space is able to be provisioned into multiple storage volumes. A distributed computing environment uses these intelligent storage devices for global provisioning as well as for global sparing in the event of failures. In any event, the intelligent network solutions can centralize such things as storage allocation routines, backup routines, and fault tolerance schemes independently of the hosts.
As file transactions are executed in such a network-centric system, storage controllers must direct the data to/from the appropriate locations on the physical storage media. This leads to complex caching and mapping constructs to make certain the right data is communicated to the right place. The structure of metadata can significantly impact storage system performance and reliability, particularly across different components in the storage system. One existing implementation employs a scatter-gather list. However, what is needed is more sophisticated mapping schemes associating the logical storage volume to the physical striped blocks of data stored in the data storage medium, and atomic write metadata utilizing the benefits of such improved mapping schemes. It is to this solution that embodiments of the present invention are directed.